<?php
	namespace Admin\Controller;
	use 	  Think\Controller;
	date_default_timezone_set('PRC');
	class AuserController extends PublicController{
		//查询出所有后台管理员
		public function index()
		{
			//实例化model类
			$admin = M('admin');
			
			//查询出数据库总条数
			$count = $admin->where('status=1')->count();

			//实例化分页类
			$page = new \Think\Page($count,6);
			
			//分页配置
			$page->setConfig('header','个会员');
			$page->setConfig('first','首页');
			$page->setConfig('last','尾页');
			$page->setConfig('prev','上一页');
			$page->setConfig('next','下一页');
			$page->setConfig('theme','共 %TOTAL_ROW% 记录 %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');

			//进行查询
			$data = $admin->limit($page->firstRow.','.$page->listRows)->select();

			//分页显示输出
			$show = $page->show();

			//赋值变量
			$this->assign(data,$data);
			$this->assign(show,$show);

			//输出模版
			$this->display();
		}

		//添加用户界面
		public function add()
		{
			//输出模版
			$this->display();
		}

		

		
		//执行ajax文件上传
		public function upload()
		{
			// dump($_POST);
			// dump($_FILES);
			
			//文件上传类配置
			$config = array(
				'rootPath' =>'Public/',
				'savePath' =>'Upload/',
				);
			//实例化文件上传类
			$upload = new \Think\Upload($config);

			//执行上传文件
			$info = $upload->upload($_FILES);

			if($info){
				echo $info['file']['savepath'].$info['file']['savename'];
			}else{
				echo $upload->getError();
			}

			exit;
		}

		//执行管理员添加功能
		public function insert()
		{
			//实例化model类
			$Auser = M('admin');

			//判断两次输入的密码是否一致
			if(I('post.userpwd')!=I('post.qruserpwd')){
				$this->error('两次输入的密码不一致');
			}
			//删除确认密码
			unset($_POST['qruserpwd']);
			$_POST['userpwd'] = md5($_POST['userpwd']);

			//获取客户端ip
			$_POST['regip'] = $_SERVER['REMOTE_ADDR'];

			//获取注册时间
			$_POST['regtime'] = time();

			//添加用户时侯最后登录时间为注册时间
			$_POST['lasttime']=time();

			//执行插入语句
			$res = $Auser->add(I('post.'));

			if($res){
				$this->success('添加成功',U('Auser/index'),2);
			}else{
				$this->error('添加失败');
			}

		}

		//设置权限组
		public function getgroup()
		{
			//实例化权限组类
			$group = M('auth_group');
			$grou_access = M('auth_group_access');

			$id = I('get.id');

			//查询出所有权限组
			$data = $group->select();
			$list = $grou_access->where("uid=$id")->select();

			//把用户所属组组成数组
			foreach($list as $value){
				$array[] = $value['group_id'];
			}
			// dump($array);
			// dump($list);exit;

			//接收要设置权限的用户
		
			
			//赋值变量
			$this->assign('array',$array);
			$this->assign('data',$data);
			$this->assign('id',$id);

			//输出模版
			$this->display();
		}

		//设置权限组
		public function setgroup()
		{
			//实例化数据库
			$setgroup = M('auth_group_access');

			//开启事物
			$setgroup->startTrans();
			//判断所选权限是否为空
			$id = I("post.group_id");
			if(empty($id)){
				$this->error('权限不能为空');
			}

			$data['uid'] = I('post.uid');
			//循环执行插入数据库功能
			foreach($id as $value){
				$data['group_id'] = $value;

				//执行数据库插入语句
				$res = $setgroup->add($data);
				//echo $setgroup->_sql();exit;
				if(!$res){
					//有一条失败则回滚
					$setgroup->rollback();
					$this->error('设置权限失败');
				}
			}
			//提交到数据库
			$setgroup->commit();

			//跳转到管理员列表页
			$this->success('设置权限组成功',U('Auser/index'));
			
		}
	}